using System;
using System.Collections.Generic;

namespace Xiety.GenerationSample
{
	public partial class TableNode : QueryNode
	{
		public string TableName { get; set; }


	}

	public partial class OnNode
	{
		public IList<ExpressionNode> Expressions { get; set; }


		public OnNode()
		{
			Expressions = new List<ExpressionNode>();
		}
	}

	public abstract partial class QueryNode
	{
		public QueryNode Query { get; set; }
		public String Alias { get; set; }


	}

	public partial class ExpressionNode
	{
		public string Content { get; set; }


	}

	public partial class JoinNode : QueryNode
	{
		public OnNode On { get; set; }
		public QueryNode Left { get; set; }
		public QueryNode Right { get; set; }


	}

	public partial class FilterNode : QueryNode
	{
		public WhereNode Where { get; set; }


	}

	public partial class WhereNode
	{
		public IList<ExpressionNode> Expressions { get; set; }


		public WhereNode()
		{
			Expressions = new List<ExpressionNode>();
		}
	}

}
